package org.edu.modules.sbzc.floor.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.edu.common.base.BaseEntity;
import java.sql.Date;
import org.hibernate.validator.constraints.Length;

import java.io.Serializable;

/**
 * entity-楼宇（建筑物）基本信息表（参照JCBX0202）
 */
@TableName("ve_sbzc_jzw_info")
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="楼宇（建筑物）基本信息表（参照JCBX0202）对象", description="ve_sbzc_jzw_info")
public class VeSbzcJzwInfo extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableField
    @ApiModelProperty(value = "建筑物号（楼宇编号）")
    @Length(max = 20)
    private String code;

    @TableField
    @ApiModelProperty(value = "建筑物名称（楼宇名称）")
    @Length(max = 45)
    private String name;

    @TableField
    @ApiModelProperty(value = "建筑物分类码（楼宇类别）JZWFLM")
    private Integer buildCateId;

    @TableField
    @ApiModelProperty(value = "校区号（所属校区）")
    @Length(max = 32)
    private String xqh;

    @TableField
    @ApiModelProperty(value = "建筑物层数（总共层数）含地下室")
    private Integer floorNum;

    @TableField
    @ApiModelProperty(value = "（可用层数）")
    private Integer usableFloor;

    @TableField
    @ApiModelProperty(value = "建成年月")
    @JsonFormat(timezone="GMT+8",locale="zh",  pattern="yyyy-MM")
    private Date jcDate;

    @TableField
    @ApiModelProperty(value = "（总建筑面积）平方米")
    private Float zjzmj;

    @TableField
    @ApiModelProperty(value = "（总使用面积）")
    private Float zsymj;

    @TableField
    @ApiModelProperty(value = "建筑物占地面积（占地面积）")
    private Float jzwzdmj;

    @TableField
    @ApiModelProperty(value = "建筑物地址（楼宇地址）")
    @Length(max = 200)
    private String address;

    @TableField
    @ApiModelProperty(value = "（权属证号）")
    @Length(max = 60)
    private String qsCode;

    @TableField
    @ApiModelProperty(value = "（设计使用年限）")
    private Integer useYear;

    @TableField
    @ApiModelProperty(value = "备注")
    @Length(max = 500)
    private String remark;

    @TableField
    @ApiModelProperty(value = "删除标识0未删除，1删除")
    private Integer isDelete;
}
